[INFO] cloning repository https://github.com/optifat/rustorrent
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/optifat/rustorrent" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptifat%2Frustorrent", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptifat%2Frustorrent'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bfd732bb52b71593fd076146e613536c07d3cddc
[INFO] checking optifat/rustorrent against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptifat%2Frustorrent" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/optifat/rustorrent on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/optifat/rustorrent
[INFO] finished tweaking git repo https://github.com/optifat/rustorrent
[INFO] tweaked toml for git repo https://github.com/optifat/rustorrent written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded portpicker v0.1.1
[INFO] [stderr]   Downloaded windows-targets v0.52.4
[INFO] [stderr]   Downloaded opaque-debug v0.3.1
[INFO] [stderr]   Downloaded hermit-abi v0.3.9
[INFO] [stderr]   Downloaded schannel v0.1.23
[INFO] [stderr]   Downloaded socket2 v0.5.6
[INFO] [stderr]   Downloaded curl v0.4.46
[INFO] [stderr]   Downloaded mio v0.8.11
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.4
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.4
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.4
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.4
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.4
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.4
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.4
[INFO] [stderr]   Downloaded curl-sys v0.4.72+curl-8.6.0
[INFO] [stderr]   Downloaded libz-sys v1.1.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 869a9d12b9f275997613872665ec5522c06cb06c10578937f57f0731ba215754
[INFO] running `Command { std: "docker" "start" "-a" "869a9d12b9f275997613872665ec5522c06cb06c10578937f57f0731ba215754", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "869a9d12b9f275997613872665ec5522c06cb06c10578937f57f0731ba215754", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "869a9d12b9f275997613872665ec5522c06cb06c10578937f57f0731ba215754", kill_on_drop: false }`
[INFO] [stdout] 869a9d12b9f275997613872665ec5522c06cb06c10578937f57f0731ba215754
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 146b07a56be8ae2c710988f9d8cbd167a6b12eb3212284471a51a0d984ced08a
[INFO] running `Command { std: "docker" "start" "-a" "146b07a56be8ae2c710988f9d8cbd167a6b12eb3212284471a51a0d984ced08a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling cc v1.0.89
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling curl v0.4.46
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling libz-sys v1.1.15
[INFO] [stderr]    Compiling openssl-sys v0.9.101
[INFO] [stderr]    Compiling curl-sys v0.4.72+curl-8.6.0
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking portpicker v0.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking rusty_torrent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.35s
[INFO] running `Command { std: "docker" "inspect" "146b07a56be8ae2c710988f9d8cbd167a6b12eb3212284471a51a0d984ced08a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "146b07a56be8ae2c710988f9d8cbd167a6b12eb3212284471a51a0d984ced08a", kill_on_drop: false }`
[INFO] [stdout] 146b07a56be8ae2c710988f9d8cbd167a6b12eb3212284471a51a0d984ced08a
[INFO] checking optifat/rustorrent against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptifat%2Frustorrent" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/optifat/rustorrent on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/optifat/rustorrent
[INFO] finished tweaking git repo https://github.com/optifat/rustorrent
[INFO] tweaked toml for git repo https://github.com/optifat/rustorrent written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a59040f8a6abe7235662e5b4f49c5ecf72a70a214bd4fb7a0134880c87ab2a98
[INFO] running `Command { std: "docker" "start" "-a" "a59040f8a6abe7235662e5b4f49c5ecf72a70a214bd4fb7a0134880c87ab2a98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a59040f8a6abe7235662e5b4f49c5ecf72a70a214bd4fb7a0134880c87ab2a98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a59040f8a6abe7235662e5b4f49c5ecf72a70a214bd4fb7a0134880c87ab2a98", kill_on_drop: false }`
[INFO] [stdout] a59040f8a6abe7235662e5b4f49c5ecf72a70a214bd4fb7a0134880c87ab2a98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 62f1b9a9a7bf8edc4bcb74dea8e65bd3af8675c5becc7300c5f345eb26b86046
[INFO] running `Command { std: "docker" "start" "-a" "62f1b9a9a7bf8edc4bcb74dea8e65bd3af8675c5becc7300c5f345eb26b86046", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling cc v1.0.89
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling curl v0.4.46
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling openssl-sys v0.9.101
[INFO] [stderr]    Compiling libz-sys v1.1.15
[INFO] [stderr]    Compiling curl-sys v0.4.72+curl-8.6.0
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking portpicker v0.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking rusty_torrent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/download/mod.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let peer_id: Vec<u8> = (0..20).map(|_| rng.gen::<u8>()).collect(); // random peer id
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[deny(range_syntax)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/download/mod.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |     for i in 0..pieces_len {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:204:22
[INFO] [stdout]     |
[INFO] [stdout] 204 |             for i in 0..number_of_blocks {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:246:30
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     for i in 0..bytes_got_this_iter {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:255:68
[INFO] [stdout]     |
[INFO] [stdout] 255 | ...                   messages::read_message(current_message[0..bytes_got].to_vec())
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:284:68
[INFO] [stdout]     |
[INFO] [stdout] 284 | ...                   messages::read_message(current_message[0..5].to_vec())
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/download/mod.rs:306:68
[INFO] [stdout]     |
[INFO] [stdout] 306 | ...                   messages::read_message(current_message[5..].to_vec())
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:382:14
[INFO] [stdout]     |
[INFO] [stdout] 382 |     for i in 0..20 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/download/mod.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let peer_id: Vec<u8> = (0..20).map(|_| rng.gen::<u8>()).collect(); // random peer id
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[deny(range_syntax)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/filewriter/mod.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     &bytes_from_prev_piece[0..file.size],
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/filewriter/mod.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 bytes_from_prev_piece = bytes_from_prev_piece[file.size..].to_vec();
[INFO] [stdout]    |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/filewriter/mod.rs:104:34
[INFO] [stdout]     |
[INFO] [stdout] 104 |             &current_piece_bytes[0..file.size - bytes_written_into_file],
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/download/mod.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |     for i in 0..pieces_len {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/filewriter/mod.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for byte in current_piece_bytes[file.size - bytes_written_into_file..].iter() {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/bitfields.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |     for _ in 0..length {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:204:22
[INFO] [stdout]     |
[INFO] [stdout] 204 |             for i in 0..number_of_blocks {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/handshake.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for _ in 0..pstr_len[0] + 8 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:246:30
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     for i in 0..bytes_got_this_iter {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/handshake.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for i in 0..20 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/handshake.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |     for _ in 0..8 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:255:68
[INFO] [stdout]     |
[INFO] [stdout] 255 | ...                   messages::read_message(current_message[0..bytes_got].to_vec())
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/messages.rs:91:42
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let len = u32::from_be_bytes(message[0..4].try_into()?);
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:284:68
[INFO] [stdout]     |
[INFO] [stdout] 284 | ...                   messages::read_message(current_message[0..5].to_vec())
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/p2p/messages.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         message[13..].len() == (len - 9) as usize,
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/download/mod.rs:306:68
[INFO] [stdout]     |
[INFO] [stdout] 306 | ...                   messages::read_message(current_message[5..].to_vec())
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/p2p/messages.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |             message[13..].len(),
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/p2p/messages.rs:104:16
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Ok(message[13..].to_vec())
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/torrent_file_handler/torrent_file_parser.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |         hasher.update(&contents[INFO_START..INFO_END]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/download/mod.rs:382:14
[INFO] [stdout]     |
[INFO] [stdout] 382 |     for i in 0..20 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/torrent_file_handler/torrent_file_parser.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |     for _ in 0..len_str {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |         announce_response[0..bytes_recieved].to_vec(),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:79:37
[INFO] [stdout]    |
[INFO] [stdout] 79 |         u32::from_be_bytes(response[0..4].try_into()?) == 0,
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:84:37
[INFO] [stdout]    |
[INFO] [stdout] 84 |         u32::from_be_bytes(response[4..8].try_into()?) == transaction_id,
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     Ok(u64::from_be_bytes(response[8..].try_into()?))
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:173:37
[INFO] [stdout]     |
[INFO] [stdout] 173 |         u32::from_be_bytes(response[0..4].try_into()?) == 1,
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:178:37
[INFO] [stdout]     |
[INFO] [stdout] 178 |         u32::from_be_bytes(response[4..8].try_into()?) == transaction_id,
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:182:48
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let interval = u32::from_be_bytes(response[8..12].try_into()?);
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:183:59
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let _number_of_leechers = u32::from_be_bytes(response[12..16].try_into()?);
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:184:58
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _number_of_seeders = u32::from_be_bytes(response[16..20].try_into()?);
[INFO] [stdout]     |                                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |     for (index, number) in response[20..].iter().enumerate() {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/filewriter/mod.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     &bytes_from_prev_piece[0..file.size],
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/filewriter/mod.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 bytes_from_prev_piece = bytes_from_prev_piece[file.size..].to_vec();
[INFO] [stdout]    |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/filewriter/mod.rs:104:34
[INFO] [stdout]     |
[INFO] [stdout] 104 |             &current_piece_bytes[0..file.size - bytes_written_into_file],
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/filewriter/mod.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for byte in current_piece_bytes[file.size - bytes_written_into_file..].iter() {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/bitfields.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |     for _ in 0..length {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/handshake.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for _ in 0..pstr_len[0] + 8 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/handshake.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for i in 0..20 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/handshake.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |     for _ in 0..8 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/p2p/messages.rs:91:42
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let len = u32::from_be_bytes(message[0..4].try_into()?);
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/p2p/messages.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         message[13..].len() == (len - 9) as usize,
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/p2p/messages.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |             message[13..].len(),
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/p2p/messages.rs:104:16
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Ok(message[13..].to_vec())
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/torrent_file_handler/torrent_file_parser.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |         hasher.update(&contents[INFO_START..INFO_END]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/torrent_file_handler/torrent_file_parser.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |     for _ in 0..len_str {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |         announce_response[0..bytes_recieved].to_vec(),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:79:37
[INFO] [stdout]    |
[INFO] [stdout] 79 |         u32::from_be_bytes(response[0..4].try_into()?) == 0,
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:84:37
[INFO] [stdout]    |
[INFO] [stdout] 84 |         u32::from_be_bytes(response[4..8].try_into()?) == transaction_id,
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tracker/udp_connection.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     Ok(u64::from_be_bytes(response[8..].try_into()?))
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:173:37
[INFO] [stdout]     |
[INFO] [stdout] 173 |         u32::from_be_bytes(response[0..4].try_into()?) == 1,
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:178:37
[INFO] [stdout]     |
[INFO] [stdout] 178 |         u32::from_be_bytes(response[4..8].try_into()?) == transaction_id,
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:182:48
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let interval = u32::from_be_bytes(response[8..12].try_into()?);
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:183:59
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let _number_of_leechers = u32::from_be_bytes(response[12..16].try_into()?);
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:184:58
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _number_of_seeders = u32::from_be_bytes(response[16..20].try_into()?);
[INFO] [stdout]     |                                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tracker/udp_connection.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |     for (index, number) in response[20..].iter().enumerate() {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 32 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty_torrent` (bin "rusty_torrent" test) due to 33 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 32 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty_torrent` (bin "rusty_torrent") due to 33 previous errors
[INFO] running `Command { std: "docker" "inspect" "62f1b9a9a7bf8edc4bcb74dea8e65bd3af8675c5becc7300c5f345eb26b86046", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62f1b9a9a7bf8edc4bcb74dea8e65bd3af8675c5becc7300c5f345eb26b86046", kill_on_drop: false }`
[INFO] [stdout] 62f1b9a9a7bf8edc4bcb74dea8e65bd3af8675c5becc7300c5f345eb26b86046
